基于嵌入式控制器的遠(yuǎn)程監(jiān)控系統(tǒng)的開發(fā)
1 引言
在儀器儀表迅速發(fā)展的同時(shí),計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)也在迅速發(fā)展,PC機(jī)已經(jīng)從高速增長(zhǎng)進(jìn)入到平穩(wěn)發(fā)展時(shí)期,單純由PC機(jī)帶領(lǐng)電子產(chǎn)業(yè)蒸蒸日上的時(shí)代己經(jīng)成為歷史,嵌入式系統(tǒng)的出現(xiàn)和廣泛應(yīng)用,使計(jì)算機(jī)和網(wǎng)絡(luò)進(jìn)入了后PC時(shí)代?;谇度胧街悄軆x表遠(yuǎn)程監(jiān)控系統(tǒng)作為工業(yè)控制網(wǎng)絡(luò)重要發(fā)展方向之一,是工業(yè)數(shù)據(jù)通訊與控制網(wǎng)絡(luò)技術(shù)、互聯(lián)網(wǎng)技術(shù)等多種技術(shù)共同發(fā)展的結(jié)果[1]。該項(xiàng)技術(shù)的發(fā)展與成熟將會(huì)給人們的生產(chǎn)生活帶來(lái)深遠(yuǎn)的影響。
2 嵌入式控制器硬件設(shè)計(jì)
控制器的定義:嵌入式控制器以高速處理器為核心,由高速處理器和其他芯片協(xié)同工作來(lái)控制的電子設(shè)備或裝置,能夠完成監(jiān)視、控制等各種自動(dòng)化處理任務(wù)[4]。嵌入式控制器是系統(tǒng)的核心部分。
2.1 系統(tǒng)硬件結(jié)構(gòu)圖
嵌入式控制器的系統(tǒng)硬件結(jié)構(gòu)圖見圖1所示。由5V、3.3V和1.8V二種直流電源供電。系統(tǒng)主要由DSP芯片TMS320C5402、256K FLASH存儲(chǔ)器、以太網(wǎng)接口芯片RTL8019AS、 A/D轉(zhuǎn)換芯片、串口芯片等組成。 從嵌入式控制器的系統(tǒng)硬件結(jié)構(gòu)圖以看出嵌入式控制器是嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)的關(guān)鍵部分?,F(xiàn)場(chǎng)智能儀器儀表可以通過(guò)嵌入式控制器的模擬量和數(shù)字量接口輸入信號(hào),由控制器內(nèi)嵌的服務(wù)程序,通過(guò)以太網(wǎng)或Modem,在遠(yuǎn)程由客戶端程序?qū)ΜF(xiàn)場(chǎng)智能儀表進(jìn)行信號(hào)的查看和控制,從而實(shí)現(xiàn)智能儀表的遠(yuǎn)程監(jiān)控。 2.2 處理器DSP 5402最小系統(tǒng)設(shè)計(jì) ?。?)復(fù)位電路。同時(shí)設(shè)計(jì)上電復(fù)位電路和人工復(fù)位電路,當(dāng)系統(tǒng)運(yùn)行中出現(xiàn)故障時(shí)可方便地人工復(fù)位。復(fù)位電路一方面應(yīng)確保復(fù)位低電平時(shí)間足夠長(zhǎng),保證DSP可靠復(fù)位;另一方面應(yīng)保證穩(wěn)定性良好,防止DSP誤復(fù)位。復(fù)位電路采用MAX706R芯片組成自動(dòng)復(fù)位電路。MAX706R是一種能與具有3.3V工作電壓的DSP芯片相匹配的自動(dòng)復(fù)位芯片。該芯片的具體接法如圖2所示。 ?。?)時(shí)鐘電路。一般DSP系統(tǒng)中經(jīng)常使用外部時(shí)鐘輸入,因?yàn)槭褂猛獠繒r(shí)鐘時(shí),時(shí)鐘的精度高,穩(wěn)定性好,使用方便。由于DSP工作是以時(shí)鐘為基準(zhǔn),如果時(shí)鐘質(zhì)量不高,那么系統(tǒng)的可靠性、穩(wěn)定性就很難保證。因此,本系統(tǒng)擬采用外部時(shí)鐘源提供時(shí)鐘,如圖3所示。將外部的時(shí)鐘信號(hào)直接加到DSP芯片的X2/CLKIN引腳,X1引腳懸空。設(shè)置CLKMEI=1,CLKMD2=1,CLKMD3=1。復(fù)位后使DSP芯片的時(shí)鐘為外部晶振頻率的1/2,即2分頻。
圖3 時(shí)鐘電路 ?。?)系統(tǒng)電源設(shè)計(jì)。TMS320VC5402芯片采用雙電源供電,DSP的核內(nèi)電壓和I/O接口電壓分別為1.8V和3.3V, 本系統(tǒng)需要三種電源,電壓為5V、3.3V和1.8V。其中,RTL8019AS網(wǎng)卡芯片和模數(shù)轉(zhuǎn)換電路均采用5V電源供電。DSP的雙電源解決方案采用TPS73HD318實(shí)現(xiàn),輸入的電源電壓為5V,輸出電壓分別為3.3V和1.8V,每路電源的最大輸出電流為750mA。 2.3 程序存儲(chǔ)器的擴(kuò)展 FLASH存儲(chǔ)器與EPROM相比,具有更高的性能價(jià)格比,而且體積小、功耗低、可電擦寫、使用方便,并且3.3V的FLASH可以直接與DSP芯片連接。因此,采用FLASH作為程序存儲(chǔ)器存儲(chǔ)程序和一些固定數(shù)據(jù)是一種比較好的選擇。本系統(tǒng)的程序存儲(chǔ)器選用了一片AT29LV020 FLASH存儲(chǔ)器。此芯片有256K×8的存儲(chǔ)空間,最快讀取速度為100ns。所以在讀取程序時(shí),要使主頻低于10MHz。 2.4 接口電路設(shè)計(jì) (1)模擬量輸入接口。模擬量輸入通道采用了TI公司生產(chǎn)的TLV2544芯片,當(dāng)與DSP芯片連接時(shí),可用一個(gè)幀同步信號(hào)FS來(lái)控制一個(gè)串行數(shù)據(jù)幀的開始。采用TMS320VC5402提供高速、雙向、多通道帶緩沖串行端口MCBSP,可用來(lái)與串行A/D轉(zhuǎn)換器直接連接。 ?。?)以太網(wǎng)擴(kuò)展接口。實(shí)現(xiàn)嵌入式智能儀表的遠(yuǎn)程監(jiān)控系統(tǒng),首要的問題就是要讓智能儀表具有以太網(wǎng)接口。臺(tái)灣Realtek公司生產(chǎn)的RTL8019AS以太網(wǎng)接口芯片可以讓嵌入式控制器具有通用計(jì)算機(jī)的網(wǎng)絡(luò)接口。 ?。?)RS-232串行接口設(shè)計(jì)。RS-232-C并未定義連接器的物理特性,因此存在DB-25, DB-15和DB-9等多種類型的連接器。DSP為了同現(xiàn)場(chǎng)智能儀表的串口相連,我們用MAXIM公司的MAX3111來(lái)完成EIA到TTL電路之間的電平和邏輯關(guān)系的轉(zhuǎn)換。 ?。?)RS-485串行通信接口。RS-485是為了適應(yīng)遠(yuǎn)距離、分布式控制系統(tǒng)的需要而制定的一種串行通信總線標(biāo)準(zhǔn)。它支持多節(jié)點(diǎn)、遠(yuǎn)距離傳輸。RS-485標(biāo)準(zhǔn)采有用平衡式發(fā)送,差分式接收的數(shù)據(jù)收發(fā)器來(lái)驅(qū)動(dòng)總線。為了擴(kuò)展終端連接設(shè)備的數(shù)量,本設(shè)計(jì)增加了RS-485接口。DSP與RS-485串口的連接使用MAXIM公司的MAX3140UART通信芯片來(lái)完成。 3 嵌入式TCP/IP協(xié)議設(shè)計(jì) 3.1總體數(shù)據(jù)流設(shè)計(jì) 嵌入式TCP/IP的總體數(shù)據(jù)流圖如圖4所示。
應(yīng)用程序通過(guò)Socket應(yīng)用編程接口使用TCP/IP協(xié)議棧提供的數(shù)據(jù)通訊功能[3]。發(fā)送數(shù)據(jù)時(shí),如果選擇的是面向連接的TCP協(xié)議,則應(yīng)用程序?qū)⒂脩魯?shù)據(jù)交給TCP協(xié)議模塊處理,TCP模塊將其首部和數(shù)據(jù)封裝成TCP報(bào)文段;如果選擇的是無(wú)連接的UDP協(xié)議,則將用戶數(shù)據(jù)交給UDP協(xié)議模塊處理,UDP模塊將其首部和數(shù)據(jù)封裝成UDP數(shù)據(jù)報(bào)。然后將封裝好的TCP報(bào)文段或UDP數(shù)據(jù)報(bào)交給IP協(xié)議模塊,IP模塊在TCP報(bào)文段或UDP數(shù)據(jù)報(bào)上添加IP首部,并封裝成IP數(shù)據(jù)包,然后根據(jù)路由表為IP數(shù)據(jù)包確定路由;找到了路由則將數(shù)據(jù)包發(fā)送到網(wǎng)絡(luò)接口層,網(wǎng)絡(luò)接口層判斷發(fā)送的數(shù)據(jù)是從以太網(wǎng)接口還是從異步串口發(fā)出,如果是從以太網(wǎng)接口發(fā)出,則要利用ARP協(xié)議找到目的IP地址對(duì)應(yīng)的物理地址,然后封裝成以太網(wǎng)幀,由網(wǎng)卡驅(qū)動(dòng)程序?qū)⒁蕴W(wǎng)幀發(fā)送出去。 3.2 總體數(shù)據(jù)結(jié)構(gòu) TCP通過(guò)一個(gè)數(shù)據(jù)結(jié)構(gòu)為每個(gè)TCP連接協(xié)調(diào)發(fā)送、接收和重發(fā)動(dòng)作,該數(shù)據(jù)結(jié)構(gòu)稱作TCP傳輸控制塊TCB。TCP為每個(gè)活躍的連接保留一個(gè)TCB,TCB中包含了有關(guān)TCP連接的所有信息,包括連接端點(diǎn)的地址和端口號(hào),當(dāng)前平均往返時(shí)間的估計(jì)值,發(fā)送或接收的數(shù)據(jù),是否需要確認(rèn)或重傳,以及一組有關(guān)該連接的使用情況的統(tǒng)計(jì)數(shù)據(jù),所以TCB較大,本設(shè)計(jì)對(duì)TCB進(jìn)行了簡(jiǎn)化,只保留了用于控制面向連接的數(shù)據(jù)收發(fā)所必需的基本信息。 用于UDP協(xié)議的數(shù)據(jù)收發(fā)控制塊UTCB包含了UDP端結(jié)點(diǎn)的所有信息:外部和本地IP地址、外部和本地端口號(hào)以及其它控制信息。UTCB的使用及分配與TCB完全一樣,只是因?yàn)閁DP不需要建立連接,所以只要有數(shù)據(jù)進(jìn)行發(fā)送,則立即分配UTCB,一旦數(shù)據(jù)發(fā)送完成,則釋放該UTCB。 4 嵌入式控制器軟件設(shè)計(jì) 根據(jù)系統(tǒng)的控制要求和編程的需要,將系統(tǒng)軟件的模塊劃分如下部分,共分六個(gè)模塊,分別是主控模塊、初始化模塊、協(xié)議封裝模塊、協(xié)議拆包重組模塊、網(wǎng)絡(luò)接口模塊和應(yīng)用層應(yīng)用模塊。圖5分別是各模塊之間的邏輯關(guān)系。
(1)主控模塊設(shè)計(jì)。主控模塊中通常包含一些變量的定義和函數(shù)的調(diào)用。另外一些重要的I/O端口定義也放在主控函數(shù)中。在主控模塊中定義了延時(shí)信號(hào)函數(shù)、端口設(shè)置函數(shù)、同步串口設(shè)置函數(shù)、中斷服務(wù)函數(shù)等。系統(tǒng)工作時(shí)程序從主控模塊的main()函數(shù)開始運(yùn)行,首先是調(diào)用DSP及RTL8019AS的初始化程序,完成初始化之后,主程序以一個(gè)無(wú)條件循環(huán)進(jìn)入工作狀態(tài)。 (2)初始化模塊設(shè)計(jì)。系統(tǒng)軟件在運(yùn)行的時(shí)候首先要調(diào)用初始化程序,對(duì)系統(tǒng)的各資源進(jìn)行初始化,然后才能正常工作。初始化模塊包括了四個(gè)初始化函數(shù),分別是net_init()、dsp5402_init()、interrupt_init()、nic_atl_init()。 ?。?)協(xié)議封裝模塊設(shè)計(jì)。協(xié)議封裝部分的作用是將數(shù)據(jù)進(jìn)行分組,并以不同的協(xié)議打包封裝使其成為符合TCP/IP協(xié)議規(guī)范的分組數(shù)據(jù)。在設(shè)計(jì)中,對(duì)于不同協(xié)議的封裝,分別由不同的函數(shù)實(shí)現(xiàn)。在本系統(tǒng)中,監(jiān)控終端系統(tǒng)需要對(duì)位于網(wǎng)絡(luò)層的IP協(xié)議、位于傳輸層的TCP協(xié)議進(jìn)行封裝。封裝順序是先傳輸層協(xié)議TCP封裝,后網(wǎng)絡(luò)層協(xié)議IP封裝。之后傳入網(wǎng)絡(luò)接口模塊發(fā)送出去。 ?。?)協(xié)議拆包重組模塊設(shè)計(jì)。本模塊的工作過(guò)程是這樣的,數(shù)據(jù)從以太網(wǎng)上被接收下來(lái)之后,首先會(huì)放在網(wǎng)卡芯片的片上內(nèi)存當(dāng)中,由DSP即網(wǎng)絡(luò)接口模塊將其讀入后<
圖1 嵌入式控制器系統(tǒng)硬件結(jié)構(gòu)圖
圖2 系統(tǒng)自動(dòng)復(fù)位電路
圖4 嵌入式TCP/IP的總體數(shù)據(jù)流圖
圖5軟件系統(tǒng)模塊之間的關(guān)系
提交
超越傳統(tǒng)直覺,MATLAB/Simulink助力重型機(jī)械的智能化轉(zhuǎn)型
新大陸自動(dòng)識(shí)別精彩亮相2024華南國(guó)際工業(yè)博覽會(huì)
派拓網(wǎng)絡(luò)被Forrester評(píng)為XDR領(lǐng)域領(lǐng)導(dǎo)者
智能工控,存儲(chǔ)強(qiáng)基 | 海康威視帶來(lái)精彩主題演講
展會(huì)|Lubeworks路博流體供料系統(tǒng)精彩亮相AMTS展會(huì)